package com.thinkingcoder.tcrpc.core.balancer;

import java.util.List;

/**
 * 负载均衡接口 <br/>
 * 可实现的算法：weightRR-权重，AAWR-自适应
 */
public interface LoadBalancer<T> {

    T choose(List<T> providers);

    LoadBalancer Default = p -> {
        if (p == null || p.isEmpty()) {
            return null;
        } else {
            return p.get(0);
        }
    };

}
